home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1994 November / Cd Ware (Nro. 2) - Epimundo.iso / DOS / CM / BBS18.ZIP / BBS.PPS < prev    next >
Encoding:
Text File  |  1980-03-08  |  22.9 KB  |  812 lines

  1. ;    *****************[  BBS List PPE -- [09/13/93]  ]******************
  2. ;
  3. ;    v 0.1 First Attempt / Beta
  4. ;    v 0.2 Few Simple Cosmetic Changes
  5. ;    v 0.3 Bug Fixes / Cosmetic Changes
  6. ;    v 0.4 More Bug Fixes
  7. ;    v 0.5 After the 'A'dd a BBS is completed, it defaults to the PPE Menu
  8. ;    v 0.6 Cosmetic Changes, Fixed One Node problem, and fixed "Megs" problem
  9. ;               Slight optimization of code
  10. ;    v 0.7 Added 'Q'uit / Failed to answer Checking to some questions asked
  11. ;               during the "A"dd a BBS Process
  12. ;    v 0.8 User Configurability of Colors (of BBS.LST) has been made VERY easy
  13. ;    v 0.9 Cut Code size from 17k to 10k -- Added easy ability to edit modem
  14. ;               types.
  15. ;    v0.9a Added Logging of When user exits [PPE], or posts a new BBS.
  16. ;    v 1.0 Program has run stable for a week now.  Cosmetic Changes.  08/20/93
  17. ;    v 1.1 Cosmetic Changes - Added "Add your own BBS Type" Feature, Also
  18. ;               Maintenance release in response to other BBS lists magically
  19. ;               "forming" after this was released with source code.
  20. ;    v 1.2 MAJOR update -- "S"earch by Area Code has been added!.
  21. ;               International Support to be added, as I require more info. on
  22. ;               how international calls work.
  23. ;    v1.3a Working on additional search routines.  Search by [Different things]
  24. ;               Menu added.  Added some insurance to the Area Code Search, so
  25. ;               it wouldn't pick up a comment line, or BBS Name.
  26. ;    v1.3b Added logging so that a when a user adds a BBS to the list, it is
  27. ;               outputted to a file (BBS.LOG).
  28. ;    v1.3c Fixed a couple bugs.
  29. ;    v1.3d Added "Define your own Modem Type"
  30. ;    v 1.4 Enhanced the 'L'ist commands, and 'S'earch (Area Code) commands, so
  31. ;               that it now properly chops off screen sizes.  Will add more
  32. ;               "smart" features to it soon.
  33. ;    v1.4a Slight code adjustment ; 2 bug fixes
  34. ;               (ADD "press a key to continue , 'Q' to quit to search menu)
  35. ;    v 1.5 First attempt at a BBS Software Search (more like a string search)
  36. ;               -- Fixed a typo in the BBS Type Conversion (# -> Variable)
  37. ;    v1.5a AHHH.. Software Search now seems stable.  Added custom BBS Type
  38. ;               search.  Also fixed a bug in the Search menu.
  39. ;    v1.5b This is here to explain something.  The "REGISTRATION" that occurs
  40. ;               of this program to make it customizable is that every sysop
  41. ;               should purchase a copy of the PPLC.EXE compiler for PCBoard.
  42. ;               I also cleaned up a few small things "noted to me" by another
  43. ;               PPE author who illegally took my source code from 1.5a and
  44. ;               modified it.
  45. ;            - Fixed another bug with the (S)oftware Search command
  46. ;            - Added Extra "Error Correction" for BBS Type (Controls)
  47. ;    v 1.6 The Software Search command is running completely now.  I have made
  48. ;               those few code changes as noted by the "other author" --
  49. ;               converting all PRINTLN "@WAIT@"'s into WAIT commands.  A few
  50. ;               other changes -- arrays may come into play if neccessary.
  51. ;    v 1.7 First attempt at adding BBS.CFG.  Working on bugs.
  52. ;    v1.7a Added checking for Modem Type..
  53. ;    v1.7b Added Version Checking, Debugging BBS.CFG Still..
  54. ;    v1.7c BBS.CFG Checking Complete, There is a small bug still remaining in
  55. ;               the modem type.  It does not erase over the modem type #.  It
  56. ;               has been temporarily patched, until a suitable technique has
  57. ;               been found.
  58. ;    v1.7d Few Changes, Small Bug Fix
  59. ;    v1.7e Bug Fixes(Several!) -- Modifications (Define Your own Modem Type).
  60. ;    v1.7f Few Changes to internal code.
  61. ;********************
  62. ;    v 1.8 FIRST Update since 11/11/93.  Fixed Some Bugs, Re-released.
  63. ;
  64. ;       Disclaimer :  This source code may be modified in ANY way for private
  65. ;                     or individual use.  I do not claim responsibility for
  66. ;                     ANY damages that might result because of it's use.
  67. ;                     This program is freeware.  It however, may NOT be
  68. ;                     distributed or resold after modification has been made
  69. ;                     to it.
  70.  
  71. STRING YIII
  72. STRING modem_type
  73. STRING comment
  74. STRING main_bbs_command
  75. STRING space_type
  76. STRING bbs_name
  77. STRING header1
  78. STRING header2
  79. STRING header3
  80. STRING header4
  81. STRING line
  82. STRING arealine
  83. STRING n1m
  84. STRING n2m
  85. STRING n3m
  86. STRING n4m
  87. STRING n5m
  88. STRING n6m
  89. STRING n7m
  90. STRING n8m
  91. STRING n9m
  92. STRING otl_1
  93. STRING otl_2
  94. STRING otl_3
  95. STRING otl_4
  96. STRING otl_5
  97. STRING otl_6
  98. STRING otl_7
  99. STRING otl_8
  100. STRING otl_9
  101. STRING bbs_capacity
  102. STRING bbs_c_gigs
  103. STRING add_to_list
  104. STRING bbscfg
  105. STRING node1
  106. STRING node2
  107. STRING node3
  108. STRING node4
  109. STRING node5
  110. STRING node6
  111. STRING node7
  112. STRING node8
  113. STRING node9
  114. STRING N1
  115. STRING N2
  116. STRING N3
  117. STRING N4
  118. STRING N5
  119. STRING N6
  120. STRING N7
  121. STRING N8
  122. STRING N9
  123. STRING bbs_ss
  124. STRING nodes
  125. STRING capacity
  126. STRING lst_name
  127. STRING lst_spac
  128. STRING lst_bbst
  129. STRING lst_node
  130. STRING lst_idnt
  131. STRING lst_pare
  132. STRING lst_area
  133. STRING lst_dash
  134. STRING lst_pref
  135. STRING lst_suff
  136. STRING lst_mdmt
  137. STRING lst_cmnt
  138. STRING mtype
  139. STRING areacode
  140. STRING areasearch_p
  141. STRING areasearch_s
  142. STRING areasearch_z
  143. STRING search_pmt
  144. STRING lll
  145. STRING dfmodem
  146. STRING liststr
  147. INTEGER YIIT
  148. INTEGER tempvar
  149. INTEGER modemnum
  150. INTEGER bbs_s
  151. INTEGER sys_level
  152. INTEGER listcounter
  153.  
  154. ;*****************************************************************************
  155. ;                         User Configurable Options
  156. ;*****************************************************************************
  157. ;     The following are configurable colors for the BBS.LST output file :
  158.  
  159. ;  This is now handled via BBS.CFG.  Please edit this to change your colors
  160. ;       and any other options.
  161.  
  162. ;LET lst_name = "@X0A"           ; BBS Name (Default = @X0A)
  163. ;LET lst_spac = "@X0B"           ; Capacity (Default = @X0B)
  164. ;LET lst_bbst = "@X0C"           ; BBS Type (Default = @X0C)
  165. ;LET lst_node = "@X0D"           ; #/ Nodes (Default = @X0D)
  166. ;LET lst_idnt = "@X0F"           ; 'Node x' (Default = @X0F)
  167. ;LET lst_pare = "@X09"           ; ()'s     (Default = @X09)
  168. ;LET lst_dash = "@X09"           ; x - xxxx (Default = @X09)
  169. ;LET lst_area = "@X0B"           ; AreaCode (Default = @X0B)
  170. ;LET lst_pref = "@X03"           ; Prefix   (Default = @X03)
  171. ;LET lst_suff = "@X03"           ; Suffix   (Default = @X03)
  172. ;LET lst_mdmt = "@X07"           ; Mdm Type (Default = @X07)
  173. ;LET lst_cmnt = "@X09"           ; CmntLine (Default = @X09)
  174.  
  175. IF (VER() < 1510) PRINTLN "@X0CSorry.  You must be running Atleast PCBoard v15.1!"
  176. IF (VER() < 1510) NEWLINES 2
  177. IF (VER() < 1510) END
  178.  
  179. LET BBSCFG = "" ; Just incase
  180.  
  181. FOPEN 1,PPEPATH()+"BBS.CFG",O_RW,S_DN
  182. IF (FERR(1)) GOTO FE
  183. FGET 1,BBSCFG
  184. LET lst_name=left(bbscfg,4)
  185. IF (FERR(1)) GOTO FE
  186. FGET 1,BBSCFG
  187. LET lst_spac=left(bbscfg,4)
  188. IF (FERR(1)) GOTO FE
  189. FGET 1,BBSCFG
  190. LET lst_bbst=left(bbscfg,4)
  191. IF (FERR(1)) GOTO FE
  192. FGET 1,BBSCFG
  193. LET lst_node=left(bbscfg,4)
  194. IF (FERR(1)) GOTO FE
  195. FGET 1,BBSCFG
  196. LET lst_idnt=left(bbscfg,4)
  197. IF (FERR(1)) GOTO FE
  198. FGET 1,BBSCFG
  199. LET lst_pare=left(bbscfg,4)
  200. IF (FERR(1)) GOTO FE
  201. FGET 1,BBSCFG
  202. LET lst_dash=left(bbscfg,4)
  203. IF (FERR(1)) GOTO FE
  204. FGET 1,BBSCFG
  205. LET lst_area=left(bbscfg,4)
  206. IF (FERR(1)) GOTO FE
  207. FGET 1,BBSCFG
  208. LET lst_pref=left(bbscfg,4)
  209. IF (FERR(1)) GOTO FE
  210. FGET 1,BBSCFG
  211. LET lst_suff=left(bbscfg,4)
  212. IF (FERR(1)) GOTO FE
  213. FGET 1,BBSCFG
  214. let lst_mdmt=left(bbscfg,4)
  215. IF (FERR(1)) GOTO FE
  216. FGET 1,BBSCFG
  217. let lst_cmnt=left(bbscfg,4)
  218. IF (FERR(1)) GOTO FE
  219. FGET 1,BBSCFG
  220. let sys_level=left(bbscfg,4)
  221. IF (FERR(1)) GOTO FE
  222. FCLOSE 1
  223.  
  224. :NEXTTTTT
  225. ;LET sys_level = 110             ; Sysop level (to view the log)
  226.  
  227. ;*****************************************************************************
  228. ; Note : Go to the very end to edit the modem types.  You may also add/edit
  229. ;        BBS Types by going to the BBS_TYPE routine!
  230. ;*****************************************************************************
  231. LET areasearch_p = lst_pare+"("+lst_area
  232. LET areasearch_s = lst_pare+")"
  233.  
  234. :TOP
  235. CLS
  236. LET YIII=0
  237. LET YIIT=0
  238. LET main_bbs_command = ""
  239. LET sys_level = sys_level - 1
  240. DISPFILE PPEPATH()+"BBS.MNU",0
  241. GETUSER
  242. IF (cursec() > sys_level) DISPFILE PPEPATH()+"BBS.SYS",0
  243. NEWLINE
  244. INPUTSTR "Your Selection :",main_bbs_command,@X03,1,"alhsqvALHSQV",UPCASE+NEWLINE
  245.  
  246. IF (main_bbs_command = "H") THEN
  247.   goto TOP
  248. ELSEIF (main_bbs_command = "Q") THEN
  249.   goto THEEND
  250. ELSEIF (main_bbs_command = "L") THEN
  251.   goto LIST
  252. ELSEIF (main_bbs_command = "A") THEN
  253.   goto ADD
  254. ELSEIF (main_bbs_command = "") THEN
  255.   goto TOP
  256. ELSEIF (main_bbs_command = "S") THEN
  257.   goto SEARCH
  258. ELSEIF (main_bbs_command = "V") THEN
  259.   goto VIEWLOG
  260. ENDIF
  261.  
  262. :VIEWLOG
  263. CLS
  264. DISPFILE PPEPATH()+"BBS.LOG",0
  265. NEWLINE
  266. WAIT
  267. GOTO TOP
  268.  
  269. :SEARCH
  270. CLS
  271. DISPFILE PPEPATH()+"BBS.SMN",0
  272. NEWLINE
  273. INPUTSTR "Your Selection :",search_pmt,@X03, 1, "ARSQarsq",UPCASE+NEWLINE
  274. CLS
  275.  
  276. IF (search_pmt = "A") THEN
  277.    goto AACODE
  278. ELSEIF (search_pmt = "R") THEN
  279.    goto RS_SEARCH
  280. ELSEIF (search_pmt = "S") THEN
  281.    goto BBSEARCH
  282. ELSEIF (search_pmt = "Q") THEN
  283.    goto TOP
  284. ELSEIF (search_pmt = "") THEN
  285.    goto SEARCH
  286. ENDIF
  287.  
  288. :RS_SEARCH
  289. CLS
  290. PRINTLN "@X0CThis Feature Under Construction.  This should be available in "
  291. PRINTLN "Version 1.8."
  292. NEWLINES 2
  293. WAIT
  294. GOTO SEARCH
  295. :BBSEARCH
  296. CLS
  297. DISPFILE PPEPATH()+"BBS.BBS",0
  298. INPUTINT "@X0F   BBS Type String to Search for ",bbs_s,@X03
  299. LET YIIT=0
  300. LET YIII=1
  301. GOSUB BBSS
  302. IF (BBS_SS = "INVALID") GOSUB INVALID_BBSTYPE
  303. IF (BBS_SS = "INVALID") GOTO BBSEARCH
  304. CLS
  305. LET YIII=1
  306. LET header1 = "    @X0BSearching for BBS Type : @X0F"+bbs_ss
  307. LET listcounter = 0
  308. FOPEN 1,PPEPATH()+"BBS.LST",O_RD,S_DW
  309. FGET 1,arealine
  310. LET header2 = arealine
  311. FGET 1,arealine
  312. LET header3 = arealine
  313. FGET 1,arealine
  314. LET header4 = arealine
  315. WHILE (!FERR(1)) DO
  316.         PRINTLN header1
  317.         INC listcounter
  318.         NEWLINE
  319.         INC listcounter
  320.         PRINTLN header2
  321.         INC listcounter
  322.         PRINTLN header3
  323.         INC listcounter
  324.         PRINTLN header4
  325.         INC listcounter
  326.         LET tempvar=0
  327.         FGET 1,arealine
  328.         IF (FERR(1)) GOTO HMMMM
  329.         WHILE (U_PAGELEN-3 > listcounter) DO
  330.                 IF (INSTR(arealine,lst_bbst+bbs_ss)) PRINTLN arealine
  331.                 IF (INSTR(arealine,lst_bbst+bbs_ss)) INC listcounter
  332.                 IF (INSTR(arealine,lst_bbst+bbs_ss)) LET TEMPVAR=1
  333.                 IF (!INSTR(arealine,lst_bbst+bbs_ss)) LET TEMPVAR=3
  334.                 IF (TEMPVAR=1) FGET 1,arealine                  ; second line
  335.                 IF (TEMPVAR=1) PRINTLN arealine                 ; if first is
  336.                 IF (TEMPVAR=1) INC listcounter                  ; printed
  337.                 WHILE (TEMPVAR=1) DO
  338.                         FGET 1,arealine
  339.                         IF (LEFT(arealine,4)=lst_name) LET TEMPVAR=2
  340.                         IF (!LEFT(arealine,4)=lst_name) PRINTLN arealine
  341.                         IF (!LEFT(arealine,4)=lst_name) INC listcounter
  342.                 IF (FERR(1)) GOTO HMMMM
  343.                 ENDWHILE
  344.                 IF (TEMPVAR=3) FGET 1,arealine
  345.                 IF (FERR(1)) GOTO HMMMM
  346.        ENDWHILE
  347.                 IF (FERR(1)) GOTO HMMMM
  348. LET LISTCOUNTER = 0
  349. NEWLINE
  350. WAIT
  351. CLS
  352. ENDWHILE
  353. :HMMMM
  354. NEWLINE
  355. WAIT
  356. FCLOSE 1
  357. GOTO TOP
  358.  
  359.  
  360. :AACODE
  361. CLS
  362. INPUTTEXT "@X0F     Area Code to Search ",areacode,@X03,3
  363. CLS
  364. ;PRINTLN "    @X0BSearching for Area Code @X0F"+areacode
  365. LET areasearch_z = areasearch_p+areacode+areasearch_s
  366. FOPEN 1,PPEPATH()+"BBS.LST",O_RD,S_DW
  367. LET listcounter = 0
  368. LET header1 = "    @X0BSearching for Area Code @X0F"+areacode
  369. FGET 1,arealine
  370. LET header2 = arealine
  371. FGET 1,arealine
  372. LET header3 = arealine
  373. FGET 1,arealine
  374. LET header4 = arealine
  375. WHILE (!FERR(1)) DO
  376.         PRINTLN header1
  377.         INC listcounter
  378.         NEWLINE
  379.         INC listcounter
  380.         PRINTLN header2
  381.         INC listcounter
  382.         PRINTLN header3
  383.         INC listcounter
  384.         PRINTLN header4
  385.         INC listcounter
  386.         PRINTLN listcounter
  387.    WHILE (U_PAGELEN-3 > listcounter) DO
  388.            FGET 1,arealine
  389.            IF (INSTR(arealine,areasearch_z)) PRINTLN arealine
  390.            IF (INSTR(arealine,areasearch_z)) INC listcounter
  391.            IF (FERR(1)) GOTO HMMM
  392.     ENDWHILE
  393. LET listcounter = 0
  394. NEWLINE
  395. WAIT
  396. CLS
  397. ENDWHILE
  398. :HMMM
  399. NEWLINE
  400. WAIT
  401. FCLOSE 1
  402. GOTO TOP
  403.  
  404. :LIST
  405. CLS
  406. let listcounter = 0
  407. FOPEN 1,PPEPATH()+"BBS.LST",O_RW,S_DN
  408. FGET 1,liststr
  409. let header1 = liststr
  410. FGET 1,liststr
  411. let header2 = liststr
  412. FGET 1,liststr
  413. let header3 = liststr
  414. WHILE (!FERR(1)) DO
  415. PRINTLN header1
  416. INC listcounter
  417. PRINTLN header2
  418. INC listcounter
  419. PRINTLN header3
  420. INC listcounter
  421.  
  422.         WHILE (U_PAGELEN-3 > listcounter) DO
  423.                  INC listcounter
  424.                  FGET 1,liststr
  425.                  PRINTLN liststr
  426.                  ENDWHILE
  427.  
  428. NEWLINE
  429. WAIT
  430. CLS
  431. LISTCOUNTER = 0
  432. ENDWHILE
  433. FCLOSE 1
  434.  
  435. ;DISPFILE PPEPATH()+"BBS.LST",0
  436. ;NEWLINE
  437. ;WAIT
  438. GOTO TOP
  439.  
  440. :ADD
  441. CLS
  442. DISPFILE PPEPATH()+"BBS.ADD",0
  443. LET lll = ""
  444.  
  445. INPUTTEXT "          [BBS Name (20 Chars)]",bbs_name,@X03,20
  446. IF (bbs_name = "Q") goto TOP
  447. IF (bbs_name = "q") goto TOP
  448. IF (bbs_name = "") goto ADD
  449.  
  450. :SIZE
  451. NEWLINE
  452. NEWLINE
  453. INPUTTEXT "   [Does This BBS have > 1 Gig]",space_type,@X03,1
  454. IF (space_type = "N") goto MEGS
  455. IF (space_type = "n") goto MEGS
  456. IF (space_type = "Y") goto GIGS
  457. IF (space_type = "y") goto GIGS
  458. IF (space_type = "Q") goto TOP
  459. IF (space_type = "q") goto TOP
  460. IF (space_type = "") goto SIZE
  461. goto SIZE
  462.  
  463. :MEGS
  464. NEWLINE
  465. NEWLINE
  466. PRINTLN "                 Enter in Format : @X0A653"
  467. INPUTTEXT "      [Storage Capacity (Megs)]",capacity,@X03,3
  468. IF (capacity = "Q") goto TOP
  469. IF (capacity = "q") goto TOP
  470. IF (capacity = "") goto MEGS
  471. LET BBS_CAPACITY = capacity+" Megs"
  472. GOTO CONT
  473. :GIGS
  474. NEWLINE
  475. NEWLINE
  476. PRINTLN "                 Enter in Format : @X0A1.2"
  477. INPUTTEXT "      [Storage Capacity (Gigs)]",bbs_c_gigs,@X03,3
  478. LET BBS_CAPACITY = BBS_C_GIGS+" Gigs"
  479. IF (bbs_c_gigs = "Q") goto TOP
  480. IF (bbs_c_gigs = "q") goto TOP
  481. IF (bbs_c_gigs = "") goto GIGS
  482.  
  483. GOTO CONT
  484.  
  485. :CONT
  486. NEWLINE
  487. NEWLINE
  488. INPUTTEXT "            Number of Nodes [#]",nodes,@X03,2
  489. IF (nodes = "Q") goto TOP
  490. IF (nodes = "q") goto TOP
  491. IF (nodes = "") goto CONT
  492. CLS
  493. NEWLINE
  494. DISPFILE PPEPATH()+"BBS.MDM",0
  495. NEWLINE
  496. PRINTLN "@X07Enter Node Numbers as Follows : @X0D(609)853-8084"
  497. PRINTLN "@X07Up to Nine Nodes will be Listed in the BBS List"
  498. PRINTLN "@X07Please Include the @X0F(@X08xxx@X0F)@X08xxx@X0F-@X08xxxx@X07."
  499. NEWLINE
  500.  
  501. :MODEMTYPE
  502.  
  503. PRINT "Node 1: "
  504. INPUTSTR "",node1,@X03,13,MASK_ASCII(),0
  505. :MT1
  506. GOSUB MMTYPE
  507. GOSUB modemz
  508. IF (MTYPE = "INVALID") GOTO MT1
  509. LET n1m = mtype
  510. NEWLINE
  511. IF (nodes = "1") goto CHECK
  512. PRINT "Node 2: "
  513. INPUTTEXT "",node2,@X03,13
  514. :MT2
  515. GOSUB MMTYPE
  516. GOSUB modemz
  517. IF (MTYPE = "INVALID") GOTO MT2
  518. LET n2m = mtype
  519. IF (nodes = "2") goto CHECK
  520. NEWLINE
  521. PRINT "Node 3: "
  522. INPUTTEXT "",node3,@X03,13
  523. :MT3
  524. GOSUB MMTYPE
  525. GOSUB modemz
  526. IF (MTYPE = "INVALID") GOTO MT3
  527. LET n3m = mtype
  528. IF (nodes = "3") goto CHECK
  529. NEWLINE
  530. PRINT "Node 4: "
  531. INPUTTEXT "",node4,@X03,13
  532. :MT4
  533. GOSUB MMTYPE
  534. GOSUB modemz
  535. IF (MTYPE = "INVALID") GOTO MT4
  536. LET n4m = mtype
  537. IF (nodes = "4") goto CHECK
  538. NEWLINE
  539. PRINT   "Node 5: "
  540. INPUTTEXT "",node5,@X03,13
  541. :MT5
  542. GOSUB MMTYPE
  543. GOSUB modemz
  544. IF (MTYPE = "INVALID") GOTO MT5
  545. LET n5m = mtype
  546. IF (nodes = "5") goto CHECK
  547. NEWLINE
  548. PRINT "Node 6: "
  549. INPUTTEXT "",node6,@X03,13
  550. :MT6
  551. GOSUB MMTYPE
  552. GOSUB modemz
  553. IF (MTYPE = "INVALID") GOTO MT6
  554. let n6m = mtype
  555. IF (nodes = "6") goto CHECK
  556. NEWLINE
  557. PRINT "Node 7: "
  558. INPUTTEXT "",node7,@X03,13
  559. :MT7
  560. GOSUB MMTYPE
  561. GOSUB modemz
  562. IF (MTYPE = "INVALID") GOTO MT7
  563. let n7m = mtype
  564. IF (nodes = "7") goto CHECK
  565. NEWLINE
  566. PRINT "Node 8: "
  567. INPUTTEXT "",node8,@X03,13
  568. :MT8
  569. GOSUB MMTYPE
  570. GOSUB modemz
  571. IF (MTYPE = "INVALID") GOTO MT8
  572. let n8m = mtype
  573. IF (nodes = "8") goto CHECK
  574. NEWLINE
  575. PRINT "Node 9: "
  576. INPUTTEXT "",node9,@X03,13
  577. :MT9
  578. GOSUB MMTYPE
  579. GOSUB modemz
  580. IF (MTYPE = "INVALID") GOTO MT9
  581. let n9m = mtype
  582.  
  583. :check
  584. NEWLINE
  585. NEWLINE
  586. PRINTLN "Enter a Comment about your BBS : (44 Chars Max)"
  587. INPUTTEXT "",comment,@X03,44
  588. CLS
  589. DISPFILE PPEPATH()+"BBS.BBS",0
  590. :BBS_TYPE
  591. INPUTINT "Which BBS Software are you running",BBS_S,@X03
  592. LET YIIT = 1
  593. :BBSS
  594. IF (bbs_s = 1) THEN
  595.   let bbs_ss = "PCBoard"
  596. ELSEIF (bbs_s < 0) THEN
  597.   let bbs_ss = "INVALID"
  598. ELSEIF (bbs_s > 25) THEN
  599.   let bbs_ss = "INVALID"
  600. ELSEIF (bbs_s = 2) THEN
  601.   let bbs_ss = "Renegade"
  602. ELSEIF (bbs_s = 3) THEN
  603.   let bbs_ss = "OBV/2"
  604. ELSEIF (bbs_s = 4) THEN
  605.   let bbs_ss = "WWIV"
  606. ELSEIF (bbs_s = 5) THEN
  607.   let bbs_ss = "GAP"
  608. ELSEIF (bbs_s = 6) THEN
  609.   let bbs_ss = "Wildcat"
  610. ELSEIF (bbs_s = 7) THEN
  611.   let bbs_ss = "Forum"
  612. ELSEIF (bbs_s = 8) THEN
  613.   let bbs_ss = "LSD"
  614. ELSEIF (bbs_s = 9) THEN
  615.   let bbs_ss = "PCExpres"
  616. ELSEIF (bbs_s = 10) THEN
  617.   let bbs_ss = "BBSExprs"
  618. ELSEIF (bbs_s = 11) THEN
  619.   let bbs_ss = "Hermes"
  620. ELSEIF (bbs_s = 12) THEN
  621.   let bbs_ss = "C-Net"
  622. ELSEIF (bbs_s = 13) THEN
  623.   let bbs_ss = "Quiver"
  624. ELSEIF (bbs_s = 14) THEN
  625.   let bbs_ss = "Forem"
  626. ELSEIF (bbs_s = 15) THEN
  627.   let bbs_ss = "Srchlght"
  628. ELSEIF (bbs_s = 16) THEN
  629.   let bbs_ss = "UltraBBS"
  630. ELSEIF (bbs_s = 17) THEN
  631.   let bbs_ss = "PRODoor"
  632. ELSEIF (bbs_s = 18) THEN
  633.   let bbs_ss = "MajorBBS"
  634. ELSEIF (bbs_s = 19) THEN
  635.   let bbs_ss = "VBBS"
  636. ELSEIF (bbs_s = 20) THEN
  637.   let bbs_ss = "Vision/X"
  638. ELSEIF (bbs_s = 21) THEN
  639.   let bbs_ss = "Vision/2"
  640. ELSEIF (bbs_s = 22) THEN
  641.   let bbs_ss = "SabrGard"
  642. ELSEIF (bbs_s = 23) THEN
  643.   let bbs_ss = "Fusion"
  644. ELSEIF (bbs_s = 24) THEN
  645.   let bbs_ss = "TurboBBS"
  646. ELSEIF (bbs_s = 25) THEN
  647.   let bbs_ss = "RadioacT"
  648. ENDIF
  649. IF (bbs_s = 99) THEN
  650.   let bbs_ss = ""
  651.   gosub defineyourown
  652. ENDIF
  653. IF (YIIT=0) RETURN
  654. GOTO newlinenext
  655. :defineyourown
  656. NEWLINE
  657. CLS
  658. DISPFILE PPEPATH()+"BBS.DYO",0
  659. INPUTSTR "Enter Abreviated BBS Name :",bbs_ss,@X0F,8,MASK_ALNUM(),NEWLINE
  660. IF (YIII=1) RETURN
  661. :newlinenext
  662. IF (BBS_SS = "INVALID") GOSUB INVALID_BBSTYPE
  663. IF (BBS_SS = "INVALID") GOTO BBS_TYPE
  664. NEWLINE
  665. LET N1 = lst_pare+LEFT(node1,1)+lst_area+MID(node1,2,3)+lst_pare+MID(node1,5,1)+lst_pref+MID(node1,6,3)+lst_dash+MID(node1,9,1)+"@X03"+RIGHT(node1,4)
  666. LET N2 = lst_pare+LEFT(node2,1)+lst_area+MID(node2,2,3)+lst_pare+MID(node2,5,1)+lst_pref+MID(node2,6,3)+lst_dash+MID(node2,9,1)+"@X03"+RIGHT(node2,4)
  667. LET N3 = lst_pare+LEFT(node3,1)+lst_area+MID(node3,2,3)+lst_pare+MID(node3,5,1)+lst_pref+MID(node3,6,3)+lst_dash+MID(node3,9,1)+"@X03"+RIGHT(node3,4)
  668. LET N4 = lst_pare+LEFT(node4,1)+lst_area+MID(node4,2,3)+lst_pare+MID(node4,5,1)+lst_pref+MID(node4,6,3)+lst_dash+MID(node4,9,1)+"@X03"+RIGHT(node4,4)
  669. LET N5 = lst_pare+LEFT(node5,1)+lst_area+MID(node5,2,3)+lst_pare+MID(node5,5,1)+lst_pref+MID(node5,6,3)+lst_dash+MID(node5,9,1)+"@X03"+RIGHT(node5,4)
  670. LET N6 = lst_pare+LEFT(node6,1)+lst_area+MID(node6,2,3)+lst_pare+MID(node6,5,1)+lst_pref+MID(node6,6,3)+lst_dash+MID(node6,9,1)+"@X03"+RIGHT(node6,4)
  671. LET N7 = lst_pare+LEFT(node7,1)+lst_area+MID(node7,2,3)+lst_pare+MID(node7,5,1)+lst_pref+MID(node7,6,3)+lst_dash+MID(node7,9,1)+"@X03"+RIGHT(node7,4)
  672. LET N8 = lst_pare+LEFT(node8,1)+lst_area+MID(node8,2,3)+lst_pare+MID(node8,5,1)+lst_pref+MID(node8,6,3)+lst_dash+MID(node8,9,1)+"@X03"+RIGHT(node8,4)
  673. LET N9 = lst_pare+LEFT(node9,1)+lst_area+MID(node9,2,3)+lst_pare+MID(node9,5,1)+lst_pref+MID(node9,6,3)+lst_dash+MID(node9,9,1)+"@X03"+RIGHT(node9,4)
  674.  
  675. CLS
  676. PRINTLN " Your List will look like this : "
  677. NEWLINE
  678. let otl_1 = lst_name+bbs_name+"@POS:22@"+lst_spac+bbs_capacity+"@POS:31@"+lst_bbst+BBS_SS+"@POS:42@"+lst_node+NODES+"@POS:46@"+lst_idnt+"Node 1 "+N1+"@POS:67@"+lst_mdmt+n1m
  679. let otl_2 = lst_cmnt+comment+"@POS:46@"+lst_idnt+"Node 2 "+N2+"@POS:67@"+lst_mdmt+n2m
  680. IF (nodes = "1") let otl_2 = lst_cmnt+comment
  681. let otl_3 = "@POS:46@"+lst_idnt+"Node 3 "+N3+"@POS:67@"+lst_mdmt+n3m
  682. let otl_4 = "@POS:46@"+lst_idnt+"Node 4 "+N4+"@POS:67@"+lst_mdmt+n4m
  683. let otl_5 = "@POS:46@"+lst_idnt+"Node 5 "+N5+"@POS:67@"+lst_mdmt+n5m
  684. let otl_6 = "@POS:46@"+lst_idnt+"Node 6 "+N6+"@POS:67@"+lst_mdmt+n6m
  685. let otl_7 = "@POS:46@"+lst_idnt+"Node 7 "+N7+"@POS:67@"+lst_mdmt+n7m
  686. let otl_8 = "@POS:46@"+lst_idnt+"Node 8 "+N8+"@POS:67@"+lst_mdmt+n8m
  687. let otl_9 = "@POS:46@"+lst_idnt+"Node 9 "+N9+"@POS:67@"+lst_mdmt+n9m
  688.  
  689. PRINTLN otl_1
  690. ;PRINTLN otl_11
  691. PRINTLN otl_2
  692. NEWLINE
  693. PRINTLN "@X07If you have more than 2 nodes, they will be included in the list."
  694. NEWLINE
  695. :YAY
  696. ;PRINT "@X0EAdd to BBS List ? (Y/N)"
  697. ;INPUTTEXT "",add_to_list,@X0E,1
  698. INPUTSTR "Add to BBS List ? (Y/N)",add_to_list,@X0E,1,"NnYy",0
  699. IF (add_to_list = "Y") THEN
  700.   goto ADD2LIST
  701. ELSEIF (add_to_list = "y") THEN
  702.   goto ADD2LIST
  703. ENDIF
  704. IF (add_to_list = "N") goto TOP
  705. IF (add_to_list = "n") goto TOP
  706. goto YAY
  707.  
  708. :ADD2LIST
  709. FAPPEND 1,PPEPATH()+"BBS.LOG",O_WR,S_DW
  710. LET lll = "@X0F"+UN_NAME()+"@X07 added @X03"+bbs_name
  711. FPUTLN 1,lll
  712. FCLOSE 1
  713. FAPPEND 1,PPEPATH()+"BBS.LST",O_WR,S_DW
  714.  
  715. FPUTLN 1,otl_1
  716. ;FPUTLN 1,otl_11
  717. FPUTLN 1,otl_2
  718. IF (nodes = "1") goto BBSADDED
  719. IF (nodes = "2") goto BBSADDED
  720. FPUTLN 1,otl_3
  721. IF (nodes = "3") goto BBSADDED
  722. FPUTLN 1,otl_4
  723. IF (nodes = "4") goto BBSADDED
  724. FPUTLN 1,otl_5
  725. IF (nodes = "5") goto BBSADDED
  726. FPUTLN 1,otl_6
  727. IF (nodes = "6") goto BBSADDED
  728. FPUTLN 1,otl_7
  729. IF (nodes = "7") goto BBSADDED
  730. FPUTLN 1,otl_8
  731. IF (nodes = "8") goto BBSADDED
  732. FPUTLN 1,otl_9
  733. FCLOSE 1
  734. :BBSADDED
  735. NEWLINE
  736. ;IF (nodes > 9) PRINTLN "Only The First Nine Nodes were Listed"
  737. LOG "User has added a New BBS!",FALSE
  738. PRINTLN "BBS Added, Successfully.  Now Exiting to the BBS"
  739. PRINTLN "To View Addition, just re-enter this program!"
  740. NEWLINE
  741. PRINTLN "@X0AStrike a Key to Continue . . ."
  742. LET main_bbs_command = INKEY()
  743. NEWLINES 2
  744. END
  745. :theend
  746. LOG "User Exited the BBS PPE",FALSE
  747. goto therealend
  748. :modemz
  749. IF (modemnum = 1) THEN
  750.   let mtype = "16.8H / 14.4V"
  751. ELSEIF (modemnum = 2) THEN
  752.   let mtype = "14.4H / 14.4V"
  753. ELSEIF (modemnum = 3) THEN
  754.   let mtype = "14.4H / 9600V"
  755. ELSEIF (modemnum = 4) THEN
  756.   let mtype = "16,800 HST"
  757. ELSEIF (modemnum = 5) THEN
  758.   let mtype = "144/96 HST"
  759. ELSEIF (modemnum = 6) THEN
  760.   let mtype = "14,400 V32bis"
  761. ELSEIF (modemnum = 7) THEN
  762.   let mtype = "9,600 v.32"
  763. ELSEIF (modemnum = 8) THEN
  764.   let mtype = "CompuCOM"
  765. ELSEIF (modemnum = 9) THEN
  766.   let mtype = "Hayes"
  767. ELSEIF (modemnum = 10) THEN
  768.   let mtype = "Hayes+14.4V"
  769. ELSEIF (modemnum = 11) THEN
  770.   let mtype = "UDS 9600+"
  771. ELSEIF (modemnum = 12) THEN
  772.   let mtype = "Zyxel"
  773. ELSEIF (modemnum = 13) THEN
  774.   let mtype = "2400/Below"
  775. ELSEIF (modemnum = 14) THEN
  776.   let mtype = "Other 9600+"
  777. ELSEIF (modemnum = 15) THEN
  778.   let mtype = "21.6H / 19.2V"
  779. ELSEIF (modemnum = 99) THEN
  780.   gosub dfmodemx
  781. ELSEIF (modemnum < 1) THEN
  782.   let mtype = "INVALID"
  783. ELSEIF (modemnum > 15) THEN
  784.   let mtype = "INVALID"
  785. ENDIF
  786. RETURN
  787. :DFMODEMX
  788. NEWLINE
  789. CLS
  790. DISPFILE PPEPATH()+"BBS.DYM",0
  791. INPUTTEXT "@X0F Your NEW Modem Type ",mtype,@X03,13
  792. CLS
  793. DISPFILE PPEPATH()+"BBS.MDM",0
  794. NEWLINE
  795. RETURN
  796. :MMTYPE
  797. let modemnum = 1
  798. INPUTINT ")@POS:35@Modem Type (#)",modemnum,@X03
  799. RETURN
  800. :INVALID_BBSTYPE
  801. NEWLINES 2
  802. PRINTLN "@X0CInvalid BBS Type # Entered.  Try Again"
  803. NEWLINE
  804. WAIT
  805. RETURN
  806. :FE
  807. CLS
  808. PRINTLN "@X07BBS.CFG does not exist, or has been damaged.  Notify the sysop"
  809. PRINTLN "IMMEDIATELY!  @BEEP@"
  810. NEWLINES 2
  811. :THEREALEND
  812.